Aula 18 - Continuando sobre o pacote flextable

Módulo 2: Trabalhando com dados

Carolina Musso

PROFESP, DEMSP, MS

Esta semana

Aula 16 - Criando novas variáveis

Função mutate()

Aula 17 - Agrupando dados

Tipo uma tabela dinâmica, com group_by + summarise()

Aula 18 - Tabela

Mais sobre o pacote flextable: cores e bordas

Leituras para aprofundamento

Dados de Hoje

  • Vamos inventar um indicador aqui…
 letalidade_Brasil_Italia <- dados_covid %>% 
  filter(Country=="Brazil"|Country=="Italy", 
         New_cases>0) %>% 
  mutate(letalidade_diaria = New_deaths/New_cases*100) %>% 
  group_by(Country) %>% 
  summarise(letalidade_media = mean(letalidade_diaria), 
            desvio_padrao = sd(letalidade_diaria ),
            Casos_maximo = max(New_cases),
            Obitos_maximo = max(New_deaths))
  

 letalidade_Brasil_Italia
# A tibble: 2 × 5
  Country letalidade_media desvio_padrao Casos_maximo Obitos_maximo
  <chr>              <dbl>         <dbl>        <int>         <int>
1 Brazil              2.11          1.68       298408          4249
2 Italy               3.00          5.53       228123           993

flextable

flextable(letalidade_Brasil_Italia)
Tab1

Mudando os decimais

O mutate_if

letalidade_Brasil_Italia_trat <- letalidade_Brasil_Italia %>% 
  mutate_if(is.numeric, ~format(., big.mark=".", decimal.mark=",", digits=2))

letalidade_Brasil_Italia_trat
# A tibble: 2 × 5
  Country letalidade_media desvio_padrao Casos_maximo Obitos_maximo
  <chr>   <chr>            <chr>         <chr>        <chr>        
1 Brazil  2,1              1,7           298.408      "4.249"      
2 Italy   3,0              5,5           228.123      "  993"      

color : cor do texto

flextable( letalidade_Brasil_Italia_trat) %>% 
  color(color="red", i=2)

Tab2

  • Lembrando: Se não especificar j ele faz para linha toda.
flextable(letalidade_Brasil_Italia_trat) %>% 
   color(color="red", i=2, j=2) %>% 
  color(color="green", i=1, j=3)  

Tab3

Para uma cor muito especial

  • #BE3455
flextable(letalidade_Brasil_Italia_trat) %>% 
  color(color="#BE3455", part="header") 

Tab4

bg: cor do fundo (background)

  • A mesma idéia do color
flextable(letalidade_Brasil_Italia_trat) %>% 
  bg(bg="yellow", j=2)

Tab5

bordas

Bordas de dentro

  • Criar um estilo

  • pacote officer: como uma extensão do flextable

estilo1 = fp_border(color="blue", width=1,  style = "solid")

flextable(letalidade_Brasil_Italia_trat) %>% 
  border_inner( border=estilo1, part="body")

Tab6 . . .

estilo2 = fp_border(color="purple", width=3,  style = "dotted")

flextable(letalidade_Brasil_Italia_trat) %>% 
  border_inner( border=estilo2, part="body")

Tab7

Outras funções para bordas

  • border_outer()
  • border_inner_v()
  • border_inner_h()

Bordas verticais diferentes das horizontais

estilo1 = fp_border(color="black", width=1.5)
estilo2 = fp_border(color="darkgrey", width=0.7)

flextable(letalidade_Brasil_Italia_trat) %>%  
  border_inner_v(border=estilo2, part="all")%>% 
  border_inner_h( border=estilo1, part="body") 
Tab8

Linhas específicas

  • Vários: hline_bottom(), hline_top(), hline(), vline_left(), vline_right(), vline()
flextable(letalidade_Brasil_Italia_trat) %>% 
  vline(j = 3, border = estilo1) 

Tab9

Obrigada!